package rok3.projekt.zespver3.network;

import rok3.projekt.zespver3.client.objects.Character.Move;
import rok3.projekt.zespver3.network.packet.CharacterState__;
import rok3.projekt.zespver3.network.packet.Event__;
import rok3.projekt.zespver3.network.packet.PrimitiveEvent__;
import rok3.projekt.zespver3.network.packet.PrimitiveEvent__.Type__;
import rok3.projekt.zespver3.network.packet.__AllChanges;
import rok3.projekt.zespver3.network.packet.__CharacterState;
import rok3.projekt.zespver3.network.packet.__Event;
import rok3.projekt.zespver3.network.packet.__PrimitiveEvent;
import rok3.projekt.zespver3.network.packet.__PrimitiveEvent.__Type;
import rok3.projekt.zespver3.network.packet.__PrimitiveSignal__;
import rok3.projekt.zespver3.network.packet.__StartGameInfo;
import rok3.projekt.zespver3.network.packet.__YourId;

import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryonet.EndPoint;
 
public class Network {
	static public void register(EndPoint endPoint) {
		Kryo kryo = endPoint.getKryo();
		

		kryo.register(__PrimitiveSignal__.class);
		
		
		/* from client to server */
		kryo.register(CharacterState__.class);
		kryo.register(PrimitiveEvent__.class);
		kryo.register(Event__.class);
		kryo.register(Event__[].class);
		
		/* from server to client */
		kryo.register(__YourId.class);
		kryo.register(__StartGameInfo.class);
		kryo.register(__AllChanges.class);
		kryo.register(__Event.class);
		kryo.register(__Event[].class);
		kryo.register(__CharacterState.class);
		kryo.register(__CharacterState[].class);
		kryo.register(__PrimitiveEvent.class);
		  
		/* related classes */
		kryo.register(short[].class);
		kryo.register(Move.class);
		kryo.register(Type__.class);
		kryo.register(__Type.class);
		    
		System.out.println("Network#registered EndPoint");
	}
}
   